/**
 * author      : dormi330
 * date        : 2018/7/11
 * description : distribute lock
 */

package com.wzq.learn.dlock.facade;

import java.util.concurrent.locks.Lock;

public interface ILockService {

    /**
     * 尝试加锁
     * 可重入, 阻塞
     *
     * @param name     锁名,竞争的资源
     * @param waitTime 等待时间, 如果在规定时间内, 没有获取锁, 则放弃.
     *                 0 = 不等待
     *                 -1 = 一直等待
     * @return true = 获取成功, false = 获取失败
     */
    Lock tryLock(String name, Long waitTime);

}
